package com.company.lambda;

import javax.swing.*;
import java.awt.*;
import java.time.Instant;
import java.util.Arrays;
import java.util.Date;


/**
 * @Author：xz
 * @Date：2023/3/27
 */
public class Lambdatest {
    public static void main(String[] args) {
        String[] planets = {"Mer", "Ven", "Ear", "Mars", "Jup", "Sat", "Ura", "Nep"};
        System.out.println(Arrays.toString(planets));

        System.out.println("Sorted in dictionary order:");
        // 对一个数组的所有元素进行排序,并且是按从小到大的顺序
        Arrays.sort(planets);
        System.out.println(Arrays.toString(planets));

        // 对一个数组中的所有元素的长度进行排序，从短到长
        System.out.println("Sorted by length:");
        Arrays.sort(planets, (first, second) -> first.length() - second.length());
        System.out.println(Arrays.toString(planets));

        // 创建一个计时器对象，它会每隔 1000 毫秒（即 1 秒）执行一次指定的操作。
//        Timer timer = new Timer(1000, event -> System.out.println("The time is " + new Date()));

        Timer timer = new Timer(1000,e -> {
            System.out.println("At the tone, the time is " + Instant.ofEpochMilli(e.getWhen()));
            // 发出一声系统提示音。
            Toolkit.getDefaultToolkit().beep();
        });
        // 计时器开始
        timer.start();
        // 显示一个弹窗，包含Quit program?以及一个ok按钮
        JOptionPane.showMessageDialog(null, "Quit program?");
        // 程序调用 System.exit(0) 方法来终止程序的运行。状态码0表示程序正常退出
        System.exit(0);

    }
}
